package com.doubao.hardware.service;

import com.doubao.hardware.dto.DeviceRegistrationDTO;
import com.doubao.hardware.entity.HardwareDeviceEntity;

/**
 * 设备注册服务接口
 */
public interface DeviceRegistrationService {

    /**
     * 注册设备
     * @param registrationDTO 设备注册信息
     * @return 注册后的设备实体
     */
    HardwareDeviceEntity registerDevice(DeviceRegistrationDTO registrationDTO);

    /**
     * 检查设备是否已注册
     * @param macAddress MAC地址
     * @return 是否已注册
     */
    boolean isDeviceRegistered(String macAddress);

    /**
     * 绑定设备到用户
     * @param deviceId 设备ID
     * @param userId 用户ID
     */
    void bindDeviceToUser(Long deviceId, Long userId);

    /**
     * 解绑设备
     * @param deviceId 设备ID
     */
    void unbindDevice(Long deviceId);

    /**
     * 更新设备在线状态
     * @param deviceId 设备ID
     * @param isOnline 是否在线
     */
    void updateDeviceOnlineStatus(Long deviceId, boolean isOnline);
}